import Cookie from 'js-cookie'
export default{
    state:{
        isCollapse:false,
        //用户控制展开还是收起
        tabList:[
            //面包屑
             
                {
                    path: '/',
                    name: 'home',
                    label: '首页',
                    icon: 's-home',
                    url: 'Home/Home'
                },
            
            
        ],
        menu:[

        ]

    },
    mutations:{
        //修改菜单收起展开的方法
        collapseMenu(state){
            state.isCollapse = !state.isCollapse

        },
        //修改面包屑数据
        selectMenu(state,val){
            console.log(val,'val')
            //判断添加的数据是否为首页
            if(val.name !=='home'){//首页不允许添加
                const index = state.tabList.findIndex(item => item.name ===val.name)
                //存在返回索引
                if(index === -1){
                    state.tabList.push(val)
                }

            }

        },
        //删除指定的tag数据
        closeTag(state,item){
            //console.log(item,'item')
            const index = state.tabList.findIndex(val => val.name ===item.name)
            //如果和传递进来的item一致，就返回索引Index
            state.tabList.splice(index,1)//删除开始，删除个数

        },
        //设置menu的数据
        setMenu(state,val){
            state.menu = val
            Cookie.set('menu',JSON.stringify(val))//获取的必须是字符串

        },
        //动态注册路由
        addMenu(state,router){
            //判断当前的缓存中是否有数据
            if(!Cookie.get('menu')) return
            const menu = JSON.parse(Cookie.get('menu'))
            //看不懂
            state.menu = menu
            console.log(666)
            console.log(menu)
            //组装动态路由的数据
            const menuArray = []
            menu.forEach(item => {
                if(item.children){
                    item.children.map(item =>{
                        item.component = () =>import (`../views/${item.url}`)
                        return item
                    })
                    menuArray.push(...item.children)
                }else{
                    item.component = () =>import (`../views/${item.url}`)
                    menuArray.push(item)
                }

            })
            //console.log(menuArray)
            //路由的动态添加
            console.log(888)
            console.log(menuArray)
            menuArray.forEach(item =>{
                router.addRoute('Main',item)
            })

        }
    }
}